group { name: "e/pointer/enlightenment/default/color";
   images.image: "pointer.png" COMP;
   data.item: "can_suspend" "1";
   parts {
      part { name: "parent"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            color: 255 255 255 255; // no cc
//            FIXED_SIZE(32, 32)
         }
         description { state: "suspend" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.5 0.5;
            rel2.relative: 0.5 0.5;
            color: 255 255 255 0; // no cc
         }
      }
      part { name: "base";
         clip_to: "parent";
         description { state: "default" 0.0;
            image.normal: "pointer.png";
            rel.to: "parent";
            color_class: "/fg/normal/pointer/base";
         }
         description { state: "clicked" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/pressed/pointer/base";
         }
      }
      part { name: "e.swallow.hotspot"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel.to: "base";
            rel1.relative: (5/32) (5/32);
            rel2.relative: (5/32) (5/32);
            rel2.offset: 0 0;
        }
      }
   }
   programs {
      program {
         signal: "e,state,init"; source: "e";
         action: STATE_SET "suspend" 0.0;
         target: "parent";
         after: "load2";
      }
      program { name: "load2";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 1.0;
         in: 1.0 0.0;
         target: "parent";
      }
      program {
         signal: "e,action,mouse,down"; source: "e";
         action: STATE_SET "clicked" 0.0;
         target: "base";
         after: "fade";
      }
      program { name: "fade";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "base";
      }
      program {
         signal: "e,state,mouse,suspend"; source: "e";
         action: STATE_SET "suspend" 0.0;
         transition: ACCELERATE 0.5;
         target: "parent";
         sequence {
            action: SIGNAL_EMIT "e,state,mouse,suspend,done" "e";
         }
      }
      program {
         signal: "e,state,mouse,resume"; source: "e";
         action: STATE_SET "default" 0.0;
         transition: DECELERATE 0.5;
         target: "parent";
         sequence {
            action: SIGNAL_EMIT "e,state,mouse,resume,done" "e";
         }
      }
/*
      program { name: "pulse";
         signal: "e,state,mouse,idle"; source: "e";
         in: 10.0 0.0;
         action: STATE_SET "faded" 0.0;
         transition: SINUSOIDAL 0.25;
         target: "base";
         after: "pulse2";
      }
      program { name: "pulse2";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "base";
         after: "pulse";
      }
      program {
         signal: "e,state,mouse,active"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
         after: "stop2";
      }
      program { name: "stop2";
         action: ACTION_STOP;
         target: "pulse";
         target: "pulse2";
      }
 */
   }
}

group { name: "e/pointer/enlightenment/default/mono";
   images.image: "pointer_mono.png" COMP;
   parts {
      part { name: "base"; mouse_events: 0;
         description { state: "default" 0.0;
            image.normal: "pointer_mono.png";
            min: 32 32;
            max: 32 32;
         }
      }
      part { name: "e.swallow.hotspot"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel.to: "base";
            rel1.offset: 6 8;
            rel2.offset: 6 8;
            rel2.relative: 0.0 0.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_br/color";
   inherit: "e/pointer/enlightenment/default/color";
   parts {
      part { name: "box"; type: RECT;
         insert_after: "base";
         description { state: "default" 0.0;
            color_class: "/fg/normal/pointer/manipulator";
            rel1.relative: 0.3 0.3;
            rel2.relative: 0.7 0.7;
         }
         description { state: "p1" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
   programs {
      program { name: "box1";
         signal: "load"; source: "";
         action: STATE_SET "p1" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box2";
      }
      program { name: "box2";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box1";
      }
   }
}

group { name: "e/pointer/enlightenment/resize_tr/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 0.7 0.7;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.0;
            rel2.relative: 1.0 0.7;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_tl/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.6 0.6;
            rel2.relative: 1.0 1.0;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_bl/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.7 0.3;
            rel2.relative: 1.0 0.7;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_b/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 0.7;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_t/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.3 0.6;
            rel2.relative: 1.0 1.0;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_l/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.6 0.3;
            rel2.relative: 1.0 1.0;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/resize_r/color";
   inherit: "e/pointer/enlightenment/resize_br/color";
   parts {
      part { name: "box";
         description { state: "default" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 0.7 1.0;
         }
         description { state: "p1" 0.0;
            rel1.relative: 0.3 0.3;
            rel2.relative: 1.0 1.0;
         }
      }
   }
}

group { name: "e/pointer/enlightenment/hand/color";
   inherit: "e/pointer/enlightenment/default/color";
   parts {
      part { name: "box"; type: RECT;
         insert_after: "base";
         description { state: "default" 0.0;
            color_class: "/fg/normal/pointer/manipulator";
            rel1.relative: 0.5 0.5;
            rel2.relative: 1.0 1.0;
         }
         description { state: "p1" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.5 0.2;
            rel2.relative: 1.0 0.7;
         }
         description { state: "p2" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.0 0.5;
            rel2.relative: 0.5 1.0;
         }
         description { state: "p3" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.2 0.2;
            rel2.relative: 0.7 0.7;
         }
         description { state: "p4" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.3 0.5;
            rel2.relative: 0.8 1.0;
         }
      }
   }
   programs {
      program { name: "box1";
         signal: "load"; source: "";
         action: STATE_SET "p1" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box2";
      }
      program { name: "box2";
         action: STATE_SET "p2" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box3";
      }
      program { name: "box3";
         action: STATE_SET "p3" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box4";
      }
      program { name: "box4";
         action: STATE_SET "p4" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box5";
      }
      program { name: "box5";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box1";
      }
   }
}

group { name: "e/pointer/enlightenment/move/color";
   inherit: "e/pointer/enlightenment/hand/color";
}

group { name: "e/pointer/enlightenment/rotate/color";
   inherit: "e/pointer/enlightenment/default/color";
   parts {
      part { name: "box"; type: RECT;
         insert_after: "base";
         description { state: "default" 0.0;
            color_class: "/fg/normal/pointer/manipulator";
            rel1.relative: 0.3 0.3;
            rel2.relative: 0.8 0.8;
            map.on: 1;
            map.smooth: 1;
            map.rotation.center: "box";
         }
         description { state: "p1" 0.0;
            inherit: "default" 0.0;
            map.rotation.z: 30;
         }
         description { state: "p2" 0.0;
            inherit: "default" 0.0;
            map.rotation.z: -60;
         }
      }
   }
   programs {
      program { name: "box1";
         signal: "load"; source: "";
         action: STATE_SET "p1" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box2";
      }
      program { name: "box2";
         action: STATE_SET "p2" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box3";
      }
      program { name: "box3";
         action: STATE_SET "p1" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "box";
         after: "box2";
      }
   }
}

group { name: "e/pointer/enlightenment/plus/color";
   inherit: "e/pointer/enlightenment/default/color";
   images.image: "pointer_plus.png" COMP;
   parts {
      part { name: "add";
         insert_after: "base";
         description { state: "default" 0.0;
            image.normal: "pointer_plus.png";
            aspect: 1.0 1.0; aspect_preference: BOTH;
            rel1.relative: (40/128) (40/128);
            rel2.relative: (76/128) (76/128);
            color_class: "/fg/normal/pointer/manipulator";
         }
         description { state: "faded" 0.0;
            inherit: "default" 0.0;
            color: 255 255 255 128; // no cc
         }
      }
   }
   programs {
      program { name: "fade1";
         signal: "load"; source: "";
         action: STATE_SET "faded" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "add";
         after: "fade2";
      }
      program { name: "fade2";
         action: STATE_SET "default" 0.0;
         transition: SINUSOIDAL 0.5;
         target: "add";
         after: "fade1";
      }
   }
}

group { name: "e/pointer/enlightenment/entry/color";
   images.image: "pointer_entry.png" COMP;
   parts {
      part { name: "base";
         scale: 1;
         description { state: "default" 0.0;
            color_class: "/fg/normal/pointer/base";
            image.normal: "pointer_entry.png";
            aspect: (44/88) (44/88); aspect_preference: VERTICAL;
            FIXED_SIZE(32, 32)
         }
      }
      part { name: "e.swallow.hotspot"; type: SWALLOW;
         description { state: "default" 0.0;
            fixed: 1 1;
            rel1.to: "base";
            rel1.relative: 0.5 0.5;
            rel2.to: "base";
            rel2.relative: 0.5 0.5;
            rel2.offset: 0 0;
         }
      }
   }
}
